package com.maxmlr.music.song.entity;

import java.io.Serializable;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;

import java.util.Date;

import com.maxmlr.mybatisplus.base.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import io.swagger.annotations.ApiModelProperty;

/**
 * @author max
 * @version 1.0
 * @Package com.maxmlr.music.song.entity
 * @ClassName Song
 * @Description Song 实体类
 * @Copyright Copyright (c) 2018: www.maxmlr.com.
 * @since 2019-07-30
 */
@TableName("song")
public class Song extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;
    /**
     * 专辑id
     */
    @ApiModelProperty("专辑id")
    @TableField("special_id")
    private Integer specialId;
    /**
     * 歌手id
     */
    @ApiModelProperty("歌手id")
    @TableField("singer_id")
    private Integer singerId;
    /**
     * 歌曲名称
     */
    @ApiModelProperty("歌曲名称")
    @TableField("song_name")
    private String songName;
    /**
     * 歌曲图片
     */
    @ApiModelProperty("歌曲图片")
    @TableField("head_img")
    private String headImg;
    /**
     * 歌曲地址
     */
    @ApiModelProperty("歌曲地址")
    private String mp3;
    /**
     * MV地址
     */
    @ApiModelProperty("MV地址")
    private String mv;
    /**
     * 类型，1 mp3,2 mv,3两者都有,4都没
     */
    @ApiModelProperty("类型，1 mp3,2 mv,3两者都有,4都没")
    @TableField("song_type")
    private Integer songType;
    /**
     * 排名，0表示没有排名
     */
    @ApiModelProperty("排名，0表示没有排名")
    private Integer ranking;
    /**
     * 发布时间
     */
    @ApiModelProperty("发布时间")
    @TableField("release_date")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date releaseDate;
    /**
     * 添加时间
     */
    @ApiModelProperty("添加时间")
    @TableField("create_time")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;
    /**
     * 修改时间
     */
    @ApiModelProperty("修改时间")
    @TableField("update_time")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;


    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * 获取专辑id
     */
    public Integer getSpecialId() {
        return specialId;
    }

    /**
     * 设置专辑id
     */
    public void setSpecialId(Integer specialId) {
        this.specialId = specialId;
    }

    /**
     * 获取歌手id
     */
    public Integer getSingerId() {
        return singerId;
    }

    /**
     * 设置歌手id
     */
    public void setSingerId(Integer singerId) {
        this.singerId = singerId;
    }

    /**
     * 获取歌曲名称
     */
    public String getSongName() {
        return songName;
    }

    /**
     * 设置歌曲名称
     */
    public void setSongName(String songName) {
        this.songName = songName;
    }

    /**
     * 获取歌曲图片
     */
    public String getHeadImg() {
        return headImg;
    }

    /**
     * 设置歌曲图片
     */
    public void setHeadImg(String headImg) {
        this.headImg = headImg;
    }

    /**
     * 获取歌曲地址
     */
    public String getMp3() {
        return mp3;
    }

    /**
     * 设置歌曲地址
     */
    public void setMp3(String mp3) {
        this.mp3 = mp3;
    }

    /**
     * 获取MV地址
     */
    public String getMv() {
        return mv;
    }

    /**
     * 设置MV地址
     */
    public void setMv(String mv) {
        this.mv = mv;
    }

    /**
     * 获取类型，1 mp3,2 mv,3两者都有,4都没
     */
    public Integer getSongType() {
        return songType;
    }

    /**
     * 设置类型，1 mp3,2 mv,3两者都有,4都没
     */
    public void setSongType(Integer songType) {
        this.songType = songType;
    }

    /**
     * 获取排名，0表示没有排名
     */
    public Integer getRanking() {
        return ranking;
    }

    /**
     * 设置排名，0表示没有排名
     */
    public void setRanking(Integer ranking) {
        this.ranking = ranking;
    }

    /**
     * 获取发布时间
     */
    public Date getReleaseDate() {
        return releaseDate;
    }

    /**
     * 设置发布时间
     */
    public void setReleaseDate(Date releaseDate) {
        this.releaseDate = releaseDate;
    }

    /**
     * 获取添加时间
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 设置添加时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 获取修改时间
     */
    public Date getUpdateTime() {
        return updateTime;
    }

    /**
     * 设置修改时间
     */
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }


    @Override
    public String toString() {
        return "Song{" +
                ", id=" + id +
                ", specialId=" + specialId +
                ", singerId=" + singerId +
                ", songName=" + songName +
                ", headImg=" + headImg +
                ", mp3=" + mp3 +
                ", mv=" + mv +
                ", songType=" + songType +
                ", ranking=" + ranking +
                ", releaseDate=" + releaseDate +
                ", createTime=" + createTime +
                ", updateTime=" + updateTime +
                "}";
    }
}
